package com.lhy.mymall.service;

import com.github.pagehelper.PageInfo;
import com.google.zxing.WriterException;
import com.lhy.mymall.exception.MallException;
import com.lhy.mymall.request.CreateOrderReq;
import com.lhy.mymall.vo.OrderVO;

import java.io.IOException;

/**
 * @author: 卢辉宇
 * @date: 2022/12/19 16:05
 * @description:
 */
public interface OrderService {

    String create(CreateOrderReq createOrderReq) throws MallException;

    OrderVO detail(String orderNo) throws MallException;

    void cancel(String orderNo) throws MallException;

    String qrcode(String orderNo) throws IOException, WriterException, MallException;

    PageInfo listForAdmin(Integer pageNum, Integer pageSize) throws MallException;

    PageInfo listForCustomer(Integer pageNum, Integer pageSize) throws MallException;

    void pay(String orderNo) throws MallException;

    void delivered(String orderNo) throws MallException;

    void finish(String orderNo) throws MallException;
}
